package com.nado.extensions.data;

/**
 * {@link DataHandler}의 생성 과정에서 문제가 발생한 경우 혹은
 * 존재하지 않는 노드에 접근을 시도하는 경우에 발생하는 Exception
 */
@SuppressWarnings("serial")
public class DataHandlerException extends RuntimeException {

	public DataHandlerException() {
		super();
	}

	public DataHandlerException(String message) {
		super(message);
	}

	public DataHandlerException(String message, Throwable cause) {
		super(message);
		this.setStackTrace(cause.getStackTrace());
	}

	public DataHandlerException(Throwable cause) {
		super(cause.getMessage());
		this.setStackTrace(cause.getStackTrace());
	}

	@Override
	public String getMessage() {
		String m = super.getMessage();
		if (m == null) {
			return "Unexpected exception.";
		} else {
			return m;
		}
	}
}